perm filename 12T.F4[SCR,LCS] blob sn#367635 filedate 1978-07-11 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002
C00004 ENDMK
C⊗;

C≡≡≡≡≡≡ THIS IS THE REQUIRED HEADER FOR 'SCORE' SUBROUTINES. ≡≡≡≡≡≡≡
	SUBROUTINE SUBR
	COMMON /P/P(1) /PL/PL(1) /INS/ INST(27),BG(60)
	COMMON INUM,IPAR,CNT(27),BT,IREST,DF,DUR(27)
C   INUM=INST#  IPAR=PARAM#  
C   BT=BASIC TIME P1 WHEN SUBROUTINE IS CALLED
C   IF IREST IS <0, THAT NOTE WILL BE A REST.  
C   INST=INST. NAME,  BG=INSTS' BEGIN TIMES.
C   NOTE #S IN SUBROUTINE: (1-84)  C4=37  FS4=43  C5=49  ETC.
C   F1=86  F15=100 (NO F16!)
	
C************ SELECTS 12 TONE ROW AT RANDOM, THEN RESETS FOR ANOTHER.
	INTEGER USED
	DIMENSION USED(12)

	IF(IREST.LT.0.OR.P(2).LT.0)RETURN
C GO BACK IF IT'S A REST.

	PL(IPAR)=2

	IF(CNT(INUM).NE.1)GO TO 10
14	DO 11 K=1,12
11	USED(K)=0
C BE SURE ARRAY IS ALWAYS ZEROED TO BEGIN WITH.
	GO TO 1

10	DO 12 K=1,12
12	IF(USED(K).EQ.0)GO TO 13
C GO BACK AND ZERO ARRAY AGAIN IF ALL NON-ZERO.
	GO TO 14
13	IF(USED(J).NE.0)GO TO 1
4	USED(J)=1
2	P(IPAR)=J+36
C PUT INTO MIDDLE C OCTAVE.
	RETURN

1	J=RAND(1.0,12.999)
	GO TO 13
C GO TRY AGAIN.

	END